import request from '@/utils/request'
import myRequest from '@/utils/myRequest'
// import qs from 'qs'

/**
 * 员工管理-员工档案-获取列表
 * url:'/hr/employee/list'
 * method:GET
 * @Header Authorization: 登录接口返回的token
 * @Query params:{
    page: 1, // 当前页数
    size: 20, // 每页个数
    sort: '', // 排序
    name: '' // 名称
 * }
 * @returns {*}
 */
export const getRecordListAPI = (params = {}) => {
  return request.get('/hr/employee/list', {
    params
  })
}


/**
 * 员工管理-员工档案（离职的）-获取列表
 * url:'/hr/employee/list'
 * method:GET
 * @Header Authorization: 登录接口返回的token
 * @Query params:{
    page: 1, // 当前页数
    size: 20, // 每页个数
    sort: '', // 排序
    name: '' // 名称
 * }
 * @returns {*}
 */
export const getRecordListLeaveAPI = (params = {}) => {
  return request.get('/hr/leavedEmployee/list', {
    params
  })
}

export const getRecordListAPI2 = (params = {}) => {
  return request.get('/system/user/employeeList', {
    params
  })
}

/**
 * 员工管理-员工档案-获取详情
 * url:'/hr/employee/${id}'
 * method:GET
 * @Header Authorization: 登录接口返回的token
 * @Query params:{}
 * @returns {*}
 */
export const getRecordDetailAPI = (params = {}) => {
  return request.get(`/hr/employee/${params.id}`)
}

/**
 * 员工管理-员工档案-添加员工
 * url:'/hr/employee'
 * method:POST
 * @Header Authorization: 登录接口返回的token
 * @Query params:{
    name: '', // 姓名
    certNo: '', // 身份证号
    phone: '', // 电话
    gender: 1, // 性别
    email: '', // 邮箱
    bankNo: '', // 银行卡号
    socialInsurancePlace: '', // 社保缴纳地
    graduatedUniversity: '', // 毕业院校
    emergencyContact: '', // 紧急联系人
    emergencyContactPhone: '', // 紧急联系人电话
    address: '', // 家庭住址
    openingBank: '', // 开户行
    deptId: '', // 所属部门ß
    status: 0, // 状态
    role: 0, // 角色 普通、负责人、助手
    onboardingDate: '', // 入职日期
    leaveDate: '', // 离职日期
    contractBeginDate: '', // 劳动合同开始日
    contractEndDate: '', // 劳动合同结束日
    resumeUrl: '', // 个人简历
    certLeaveUrl: '' // 离职证明
 * }
 * @returns {*}
 */
export const createRecordAPI = (params = {}) => {
  return request.post('/hr/employee', params)
}

/**
 * 员工管理-员工档案-修改员工
 * url:'/hr/employee'
 * method:PUT
 * @Header Authorization: 登录接口返回的token
 * @Query params:{
    id: '',
    name: '', // 姓名
    certNo: '', // 身份证号
    phone: '', // 电话
    gender: 1, // 性别
    email: '', // 邮箱
    bankNo: '', // 银行卡号
    socialInsurancePlace: '', // 社保缴纳地
    graduatedUniversity: '', // 毕业院校
    emergencyContact: '', // 紧急联系人
    emergencyContactPhone: '', // 紧急联系人电话
    address: '', // 家庭住址
    openingBank: '', // 开户行
    deptId: '', // 所属部门ß
    status: 0, // 状态
    role: 0, // 角色 普通、负责人、助手
    onboardingDate: '', // 入职日期
    leaveDate: '', // 离职日期
    contractBeginDate: '', // 劳动合同开始日
    contractEndDate: '', // 劳动合同结束日
    resumeUrl: '', // 个人简历
    certLeaveUrl: '' // 离职证明
 * }
 * @returns {*}
 */
export const updateRecordAPI = (params = {}) => {
  return request.put('/hr/employee', params)
}

/**
 * 员工管理-员工档案-删除员工
 * url:'/hr/employee/${id}'
 * method:POST
 * @Header Authorization: 登录接口返回的token
 * @Query params:{
    ids: []
 * }
 * @returns {*}
 */
export const deleteRecordAPI = (params = {}) => {
  return request.delete(`/hr/employee`, {
    params
  })
}

/**
 * 员工管理-员工档案-导出员工
 * url:'/hr/employee/export'
 * method:POST
 * @Header Authorization: 登录接口返回的token
 * @Query params:{}
 * @returns {*}
 */
export const exportRecordAPI = (params = {}) => {
  return myRequest({
    method: 'get',
    url: `/hr/employee/export`,
    responseType: 'blob',
    params
  })
}

/**
 * 员工管理-员工档案（离职的）-导出员工
 * url:'/hr/employee/export'
 * method:POST
 * @Header Authorization: 登录接口返回的token
 * @Query params:{}
 * @returns {*}
 */
export const exportRecordLeaveAPI = (params = {}) => {
  return myRequest({
    method: 'get',
    url: `/hr/leavedEmployee/export/`,
    responseType: 'blob',
    params
  })
}
